home *** CD-ROM | disk | FTP | other *** search
/ Apple WWDC 1996 / WWDC96_1996 (CD).toast / Technology Materials / MacOS 8 Resources / Developer Tools / Mac OS 8 Interfaces & Libraries / Interfaces / IDLIncludes / HIDialogs.idl < prev    next >
Text File  |  1996-05-01  |  3KB  |  112 lines

  1. /*
  2.      File:        HIDialogs.idl
  3.  
  4.      Contains:    IDL interface for the HIDialogs class
  5.  
  6.      Version:    Technology:    System 8.0
  7.                  Release:    Universal Interfaces 3.0d3 on Copland DR1
  8.  
  9.      Copyright:    © 1995-1996 by Apple Computer, Inc.  All rights reserved.
  10.  
  11.      Bugs?:        If you find a problem with this file, send the file and version
  12.                  information (from above) and the problem description to:
  13.  
  14.                      Internet:    apple.bugs@applelink.apple.com
  15.                      AppleLink:    APPLE.BUGS
  16. */
  17.  
  18.  
  19. #ifndef    __HIDIALOGS_IDL__
  20. #define __HIDIALOGS_IDL__
  21.  
  22. #include <HIEmbeddingPanels.idl>
  23. #include <HIDialogTypes.idl>
  24.  
  25. interface HIPushButton;
  26.  
  27. interface HIDialog : HIRootPanel
  28. {
  29.     // procedural initializer
  30.     OSStatus InitDialog (in RefLabel identifier, in HIWindow window);
  31.     
  32.     // default and cancel subPanels - escape and cmd-. map
  33.     // to the cancel subPanel; enter maps to the cancel subPanel
  34.     OSStatus SetDefaultPushButton (in HIPushButton defaultSubPanel, in boolean isDismissing);
  35.     HIPushButton GetDefaultPushButton ();
  36.     OSStatus SetCancelPushButton (in HIPushButton cancelSubPanel, in boolean isDismissing);
  37.     HIPushButton GetCancelPushButton ();
  38.     
  39.     // by setting a subPanel as a dismissing subPanel, that
  40.     // panel's selection will cause the dialog to be disposed.
  41.     // a dialog can have many dismissing subPanels.
  42.     OSStatus SetDismissingSubPanel (in HIPushButton subPanel, in boolean isDismissing);
  43.     boolean IsDismissingSubPanel (in HIPushButton subPanel);
  44.     
  45.     // get the next subPanel in focus order.  Return 
  46.     // NULL if there is no next focussed subPanel (no wrapping!)
  47.     HIPanel GetNextUserInputFocussedSubPanel (in boolean goingBackwards);
  48.     
  49.     // virtual method for dialog dismissal - when user selects
  50.     // a dismissing item or closes the window.  Return true
  51.     // if dismissal actually happened (could be rejected due to
  52.     // bad input)
  53.     boolean Dismiss ();
  54.     
  55.     implementation {
  56.         
  57.         passthru C_h =    "#include <Types.h>"
  58.                         "#include <HIDialogTypes.h>";
  59.  
  60.         passthru C_xh =    "#include <Types.h>"
  61.                         "#include <HIDialogTypes.h>";
  62.  
  63.         releaseorder:        InitDialog,
  64.                             GetDefaultPushButton,
  65.                             SetDefaultPushButton,
  66.                             GetCancelPushButton,
  67.                             SetCancelPushButton,
  68.                             SetDismissingSubPanel,
  69.                             IsDismissingSubPanel,
  70.                             GetNextUserInputFocussedSubPanel,
  71.                             Dismiss;
  72.     };
  73. };
  74.  
  75. interface HIModalDialog : HIDialog 
  76. {
  77.     // programmatic initializer
  78.     OSStatus InitModalDialog (in RefLabel identifier, in Rect screenBounds, 
  79.         in boolean moveable);
  80.     
  81.     // return the dialog's modal handler table.  This table is created
  82.     // in the dialog's initializer, but can be modified by the client
  83.     // before it is pushed inside execute.
  84.     AEHandlerTableRef    GetModalAEHandlerTable ();
  85.     
  86.     // Push the handler table, call AEReceive, and wait until
  87.     // the dialog is dismissed. Then, pop the table and return
  88.     void ExecuteModality();
  89.     
  90.     implementation {
  91.         
  92.         releaseorder:    InitModalDialog,
  93.                         ExecuteModality,
  94.                         GetModalAEHandlerTable;
  95.     };
  96. };
  97.  
  98.  
  99. interface HIAlert : HIModalDialog
  100. {
  101.     // programmatic initializers
  102.     OSStatus InitAlert (in RefLabel identifier, in Rect screenBounds, in HIAlertType alertType);
  103.  
  104.     implementation  {
  105.  
  106.         releaseorder:            InitAlert;
  107.     };
  108. };
  109.  
  110.  
  111. #endif
  112.